
using AiQiuQuan.Sport.Model.Enums;

namespace AiQiuQuan.Sport.Model.Models
{
    /// <summary>
    /// 课程教练dto
    /// </summary>
    public class CourseCoacherDto : BaseDto
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public Guid CourseId { get; set; }

        /// <summary>
        /// 1次数课程、2期间课程、3活动课程
        /// </summary>
        public CourseTypeEnum CourseType { get; set; }

        /// <summary>
        /// 教练ID
        /// </summary>
        public Guid CoacherId { get; set; }

        /// <summary>
        /// 教练用户ID
        /// </summary>
        public Guid CoacherUserId { get; set; }

        /// <summary>
        /// 是否课程管理
        /// </summary>
        public bool IsCourseManage { get; set; }

        /// <summary>
        /// 昵称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 昵称
        /// </summary>
        public string NickName { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        public string RealName { get; set; }

        /// <summary>
        /// 头像
        /// </summary>
        public string HeadUrl { get; set; }

        /// <summary>
        /// 电话号码
        /// </summary>
        public string PhoneNo { get; set; }

        /// <summary>
        /// code
        /// </summary>
        public int Code { get; set; }

        /// <summary>
        /// 是否认证
        /// </summary>
        public bool IsCertificated { get; set; }

        /// <summary>
        /// 1普通教练、2总教练
        /// </summary>
        public CoacherTypeEnum CoacherType { get; set; }

        /// <summary>
        /// 图片
        /// </summary>
        public string? PicUrl { get; set; }

        /// <summary>
        /// 介绍
        /// </summary>
        public string Introduction { get; set; }

        /// <summary>
        /// 教练介绍
        /// </summary>
        public CoacherIntroductionDto IntroductionDto
        {
            get
            {
                if (string.IsNullOrWhiteSpace(Introduction))
                {
                    return null;
                }

                return System.Text.Json.JsonSerializer.Deserialize<CoacherIntroductionDto>(Introduction);
            }
        }

        /// <summary>
        /// 网球水平
        /// </summary>
        public string? TennisLevel { get; set; } = "1.0";

        /// <summary>
        /// 场馆列表
        /// </summary>
        public IList<CoacherVenueDto> VenueList { get; set; }

        /// <summary>
        /// 星级
        /// </summary>
        public double? Star { get; set; }
    }
}
